Репликация - это процесс, под которым понимается копирование данных из одного источника на другой
Создание полного дубликата
Пример
Master + Slave
Master - добавление/изменение данных через него
Slave - копируем данные с Мастера. Чтение от сюда
Задержка в копировании данных
Модели
-
Лидер–фолловеры (master/replica): запись на лидер, чтение с реплик; есть лаг.
-
Мульти-лидер: несколько точек записи, нужны правила разрешения конфликтов.
-
Без лидера (quorum): чтение/запись к нескольким узлам; консистентность через кворум.
Синхрон vs асинхрон
-
Синхрон: подтверждение только после записи на реплики — сильнее консистентность, но выше латентность.
-
Асинхрон: лидер отвечает сразу — быстрее, но возможен потерянный коммит при сбое лидера.
Конфликты и лаг
-
Источники: асинхронная репликация, мульти-лидер, задержки сети.
-
Разрешение: last write wins (риск потери), версионирование (vclock), бизнес-правила слияния.
-
Мониторинг лага и ручное/авто переключение при отказах.
Что документировать
-
Топология (лидеры/реплики), лаг, политика фейловера.
-
Какие запросы идут на реплики (только чтение), как решаем конфликты.
-
Ограничения: задержки чтения, требования к кворумам/согласованности.